package cn.oms.billing.provider.dao.entity;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import java.time.LocalDate;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 *
 * @author AllenChen曾晨
 * @since 2022-04-15
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("payment_transaction_record")
@ApiModel(value="PaymentTransactionRecord对象", description="")
public class PaymentTransactionRecord implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "付款ID（新增生成） UUID")
    @TableField("PAY_ID")
    private String payId;

    @ApiModelProperty(value = "账单流水ID（对应账单流水表）")
    @TableField("JOURNAL_ACCOUNT_ID")
    private String journalAccountId;

    @ApiModelProperty(value = "支付终端ID（支付宝返回的）")
    @TableField("PAY_TERMINAL_ID")
    private String payTerminalId;

    @ApiModelProperty(value = "支付金额")
    @TableField("PAY_PRICE")
    private BigDecimal payPrice;

    @ApiModelProperty(value = "币种")
    @TableField("PAY_CURRENCY")
    private String payCurrency;

    @ApiModelProperty(value = "付费状态（0未返回 1成功 2失败）")
    @TableField("PAY_FLAG")
    private Integer payFlag;

    @ApiModelProperty(value = "终端成功时间")
    @TableField("TERMINAL_OK_TIME")
    private LocalDate terminalOkTime;

    @ApiModelProperty(value = "终端交易号")
    @TableField("TERMINAL_TRANSACTION_NO")
    private String terminalTransactionNo;

    @ApiModelProperty(value = "终端交易类型（对应交易支付方式表）")
    @TableField("TERMINAL_TRANSACTION_TYPE")
    private Integer terminalTransactionType;

    @ApiModelProperty(value = "打印时间")
    @TableField("PAY_RECORD_PRINT_TIME")
    private LocalDate payRecordPrintTime;

    @ApiModelProperty(value = "打印标记（0未打印 1已打印）")
    @TableField("PAY_RECORD_PRINT_FLAG")
    private Integer payRecordPrintFlag;

    @ApiModelProperty(value = "添加时间")
    @TableField("CREATE_TIME")
    private LocalDate createTime;

    @ApiModelProperty(value = "删除标记")
    @TableField("DEL_FLAG")
    private Integer delFlag;


}
